package com.yk.mr.service.file.api;

import com.yk.mr.model.file.FileModel;

import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * Created by zsyoung on 2017/8/23.
 */
public interface IFileService {




    boolean deleteFile(String fileId);

    boolean saveFile(InputStream inputStream, String filePath, String fileName, double size);

    boolean updateFile(String fileId, String filePath, String fileName, String remark);

    /**
     * 文件数据下载到客户端
     * @param fileId 文件对象的id
     * @param outputStream 文件输出流
     */
     void downLoadFile(String fileId, BufferedOutputStream outputStream) throws IOException;

    /**
     * 获取文件实体
     * @param fileId 文件Id
     * @return 文件实体
     */
    FileModel getFileModel(String fileId);

    /**
     * 获取所有文件实体
     * @return 文件实体列表
     */
    List<FileModel> getFileModel();

    /**
     * 获取分页文件实体
     * @return  文件实体列表
     */
    List<FileModel> getFileModel(int start, int limit);

    long getFileModelTotal();
}
